package com.alibaba.springbootrbac.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;


/**
 * @author ZhouYaDong
 * @date 2025/8/21
 * @description 用户实体类模型
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@TableName("users")
public class User {

    // 主键，使用雪花算法自动生成
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    // 用户名
    private String username;

    // 密码（密文存储）
    private String password;

    // 账号状态 1=正常 0=禁用
    private Integer status;

    // 手机号码
    private String phone;

    // email
    private String email;

    // 乐观锁字段
    @Version
    private Long version;

    // 逻辑删除 0=未删除，1=已删除
    @TableLogic
    private Integer deleted;

    // 创建时间（自动填充）
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    // 创更新时间（自动填充）
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

}
